package com.quxue.im.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 好友申请表
 * </p>
 *
 * @author jinken
 * @since 2023-11-13
 */
@TableName("chat_apply")
public class ChatApply implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 发起id
     */
    private Long fromId;

    /**
     * 接收id
     */
    private Long toId;

    /**
     * 目标id
     */
    private Long targetId;

    /**
     * 申请类型1好友2群组
     */
    private String applyType;

    /**
     * 申请状态0无1同意2拒绝3忽略
     */
    private String applyStatus;

    /**
     * 申请来源
     */
    private String applySource;

    /**
     * 理由
     */
    private String reason;

    /**
     * 申请时间
     */
    private LocalDateTime createTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getFromId() {
        return fromId;
    }

    public void setFromId(Long fromId) {
        this.fromId = fromId;
    }

    public Long getToId() {
        return toId;
    }

    public void setToId(Long toId) {
        this.toId = toId;
    }

    public Long getTargetId() {
        return targetId;
    }

    public void setTargetId(Long targetId) {
        this.targetId = targetId;
    }

    public String getApplyType() {
        return applyType;
    }

    public void setApplyType(String applyType) {
        this.applyType = applyType;
    }

    public String getApplyStatus() {
        return applyStatus;
    }

    public void setApplyStatus(String applyStatus) {
        this.applyStatus = applyStatus;
    }

    public String getApplySource() {
        return applySource;
    }

    public void setApplySource(String applySource) {
        this.applySource = applySource;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "ChatApply{" +
            "id = " + id +
            ", fromId = " + fromId +
            ", toId = " + toId +
            ", targetId = " + targetId +
            ", applyType = " + applyType +
            ", applyStatus = " + applyStatus +
            ", applySource = " + applySource +
            ", reason = " + reason +
            ", createTime = " + createTime +
        "}";
    }
}
